/*
 * 用户注册API调用模块
 */

/**
 * 用户注册函数
 * @param {Object} userInfo - 用户注册信息
 * @param {string} userInfo.username - 用户名
 * @param {string} userInfo.realName - 真实姓名
 * @param {string} userInfo.idCard - 身份证号
 * @param {string} userInfo.password - 密码
 * @param {string} userInfo.confirmPassword - 确认密码
 * @param {string} userInfo.phoneNumber - 手机号
 * @param {string} userInfo.verificationCode - 验证码
 * @returns {Promise} - 返回Promise对象
 */
function registerUser(userInfo) {
    // 调用后端API进行用户注册
    return fetch('http://localhost:8080/api/auth/register', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify(userInfo)
    })
    .then(response => response.json())
    .then(data => {
        if (data.status === 'success') {
            // 如果后端返回了令牌，则保存到cookie中
            if (data.token) {
                // 使用cookie工具函数保存令牌
                if (window.utils && window.utils.cookie && window.utils.cookie.saveAuthToken) {
                    window.utils.cookie.saveAuthToken(data.token);
                    console.log('令牌已保存到cookie');
                }
            }
            
            // 返回成功结果
            return {
                success: true,
                message: data.message,
                token: data.token // 将令牌传递给调用者
            };
        } else {
            // 返回错误结果
            throw new Error(data.message || '注册失败');
        }
    })
    .catch(error => {
        console.error('注册失败:', error);
        throw error;
    });
}

// 将函数挂载到全局window对象上，使其可以被其他脚本访问
window.api = window.api || {};
window.api.userRegistration = {
    registerUser
};